package com.qianli.user.facade.query;

import com.fqgj.common.api.Response;
import com.qianli.user.ro.Paged;
import com.qianli.user.ro.account.UserAccessRO;
import com.qianli.user.ro.account.UserRO;
import com.qianli.user.ro.query.UserConditionQueryRO;
import com.qianli.user.ro.query.UserQueryRO;

import java.util.List;

/**
 * name:用户查询
 * auth:ting.li@qianli-inc.com
 * date:2017/12/27 13:11
 * version: v1.0.0
 **/
public interface UserQueryServiceFacade {

    /**
     * 根据userCode获取用户信息
     * @param query
     * @return
     */
    Response<UserRO> getUserByUserCode(UserQueryRO query);

    /**
     * 根据手机号获取用户信息
     * @param query
     * @return
     */
    Response<UserRO> getUserByMobile(UserQueryRO query);

    /**
     * 根据身份证查询用户信息
     * @return
     */
    Response<UserRO> getUserByIdentityNo(UserQueryRO query);


    /**
     * 根据身份证查询用户信息
     * @return
     */
    Response<UserRO> getUserByName(UserQueryRO query);

    /**
     * 按注册来源查询
     * @return
     */
    Response<Paged<List<UserAccessRO>>> pagedQueryUserByRegisterFrom(UserConditionQueryRO userConditionQueryRO);



}
